from selenium.webdriver.support.wait import WebDriverWait
from config import PATH



class PageBase(object):
    def __init__(self, driver):
        self.driver = driver
    def fd_element(self, loc):
        """
        元素定位的公共方法
        :param loc: 元素定位方式及属性值
        :return: 定位到的元素
        """
        try:
            element = WebDriverWait(self.driver, 30).until(lambda x: x.find_element(*loc))
            return element
        except Exception as e:
            print('元素定位失败，请检查定位方式及属性值')
            raise
    def base_input(self, loc, text):
        """
        输入框输入公共方法
        :param loc: 元素定位方式及属性值
        :param text: 输入内容
        :return: 无
        """
        # self.fd_element(loc).clear()
        # self.fd_element(loc).send_keys(text)
        # 定位元素
        ele = self.fd_element(loc)
        # 清空输入框
        ele.clear()
        # 输入内容
        ele.send_keys(text)
    def base_click(self, loc):
        """
        点击公共方法
        :param loc: 元素定位方式及属性值
        :return: 无
        """
        self.fd_element(loc).click()
    def get_shot(self, file_name):
        """
        截图
        :param file_name: 截图文件名
        :return:无
        """
        # self.driver.get_screenshot_as_file(PATH + r"\img\pwd_error.png")
        self.driver.get_screenshot_as_file(PATH + '/img/' + file_name)


